home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 9 / FM Towns Free Software Collection 9.iso / t_os / data / fapx / fapxfile.plp < prev    next >
Text File  |  1994-11-16  |  41KB  |  1,831 lines

  1. /*    共通ルーチン    */
  2. /*    入力ファイル選択(ワイルドカード不可)    */
  3. %FILEsel0{
  4.     [MSG,TYP]
  5.     SNDMSG({erande_f.snd});
  6.     footnote(MSG);
  7.     case    (TYP={},
  8.         {Yes},    {OLDFILE:=@filesel},
  9.         {No},    {OLDFILE:=@filesel(TYP)}
  10.         );
  11.     case    (OLDFILE={},
  12.         {Yes},{im({})},
  13.         {No},
  14.         {
  15.         case    (@wild(OLDFILE),
  16.             {Yes},
  17.             {
  18.             display({ワイルドカード指定はできません\n});
  19.             FILEsel0(MSG,TYP);
  20.             },
  21.             {No},
  22.             {
  23.             OLDFILE:=@dir2(@getcdir)|OLDFILE;
  24.             case    (@filechk(OLDFILE),
  25.                 {No},
  26.                 {
  27.                 SNDMSG({okasi_f.snd});
  28.                 display(OLDFILE|{がありません\n});
  29.                 FILEsel0(MSG,TYP);
  30.                 },
  31.                 {Yes},{im(OLDFILE)}
  32.                 );
  33.             });
  34.         });
  35.     };
  36.  
  37. /*    入力ファイル選択(ワイルドカード可)    */
  38. %FILEsel1{
  39.     [MSG,TYP]
  40.     SNDMSG({erande_f.snd});
  41.     footnote(MSG);
  42.     case    (TYP={},
  43.         {Yes},    {OLDFILE:=@filesel},
  44.         {No},    {OLDFILE:=@filesel(TYP)}
  45.         );
  46.     case    (OLDFILE={},
  47.         {Yes},{im({})},
  48.         {No},
  49.         {
  50.         case    (@wild(OLDFILE),
  51.             {Yes},
  52.             {
  53.             OLDFILE:=@dir2(@getcdir)|OLDFILE;
  54.             im(OLDFILE);
  55.             },
  56.             {No},
  57.             {
  58.             OLDFILE:=@dir2(@getcdir)|OLDFILE;
  59.             case    (@filechk(OLDFILE),
  60.                 {No},
  61.                 {
  62.                 SNDMSG({okasi_f.snd});
  63.                 display(OLDFILE|{がありません\n});
  64.                 FILEsel1(MSG,TYP);
  65.                 },
  66.                 {Yes},{im(OLDFILE)}
  67.                 );
  68.             });
  69.         });
  70.     };
  71.  
  72. /*    ファイル基本操作    */
  73. /*    ファイル表示    */
  74. %DISPLAY{
  75.     loop    ({
  76.         case    (@FILEsel0({表示するファイルを指定して下さい},)={},
  77.             {Yes},{im({No})},
  78.             {No},
  79.             {
  80.             footnote({ファイル表示  }|OLDFILE);
  81.             command({type }|OLDFILE);
  82.             WAITLOOP;
  83.             im({Yes});
  84.             });
  85.         });
  86.     };
  87.  
  88. /*    ファイルダンプ表示    */
  89. %DUMP    {
  90.     loop    ({
  91.         case(@FILEsel0({16進表示するファイルを指定して下さい},)={},
  92.             {Yes},{im({No})},
  93.             {No},
  94.             {
  95.             footnote({ファイル16進表示  }|OLDFILE);
  96.             command({dump }|OLDFILE|{ /1});
  97.             WAITLOOP;
  98.             im({Yes});
  99.             });
  100.         });
  101.     };
  102.  
  103. /*    ファイルサイズ表示    */
  104. %SIZE    {
  105.     loop    ({
  106.         case    (@FILEsel1({サイズ表示するファイルを指定して下さい},)
  107.                 ={},
  108.             {Yes},{im({No})},
  109.             {No},
  110.             {
  111.             footnote({ファイルサイズ表示  }|OLDFILE);
  112.             %cdir    @getcdir;
  113.             setcdir(CDIR);
  114.             command({txl -lcx -i }|OLDFILE);
  115.             setcdir(cdir);
  116.             WAITLOOP;
  117.             im({Yes});
  118.             });
  119.         });
  120.     };
  121.  
  122. /*    EOFコード除去    */
  123. %RMZ    {
  124.     loop    ({
  125.         case    (@FILEsel1({EOFコード除去するファイルを指定して下さい},)
  126.                 ={},
  127.             {Yes},{im({No})},
  128.             {No},
  129.             {
  130.             footnote({EOFコード除去  }|OLDFILE);
  131.             %cdir    @getcdir;
  132.             setcdir(CDIR);
  133.             command({txf -a -n -rz -io }|OLDFILE);
  134.             setcdir(cdir);
  135.             im({Yes});
  136.             });
  137.         });
  138.     };
  139.  
  140. /*    98罫線をJIS罫線に、98丸付き数字をJIS数字に    */
  141. %JIS98    {
  142.     loop    ({
  143.         case    (@FILEsel1({98文字を変換するファイルを}|
  144.                 {指定して下さい},)={},
  145.             {Yes},{im({No})},
  146.             {No},
  147.             {
  148.             footnote({98文字→JIS文字へ変換  }|OLDFILE);
  149.             %cdir    @getcdir;
  150.             setcdir(CDIR);
  151.             command({txf -a -n -io }|OLDFILE|
  152.                 { @}|CDIR2|{98_jis.txf});
  153.             setcdir(cdir);
  154.             im({Yes});
  155.             });
  156.         });
  157.     };
  158.  
  159. /*    ファイル削除    */
  160. %DELETE    {
  161.     loop    ({
  162.         case    (@FILEsel1({削除するファイルを指定して下さい},)={},
  163.             {Yes},{im({No})},
  164.             {No},
  165.             {
  166.             SNDMSG({kaknin_f.snd});
  167.             footnote({ファイル削除  }|OLDFILE);
  168.             select    (OLDFILE|{を削除してもいいですか?},
  169.                 Wtime4,,
  170.                 { は い },
  171.                 {case    (@tail(OLDFILE,{\})={*.*},
  172.                     {Yes},{command({echo y|del }|OLDFILE)},
  173.                     {No}, {command({del }|OLDFILE)})},
  174.                 { いいえ },
  175.                 );
  176.             im({Yes});
  177.             });
  178.         });
  179.     };
  180.  
  181. /*    ファイル複写    */
  182. %COPY    {
  183.     %FILEsel2{
  184.         SNDMSG({erande_f.snd});
  185.         footnote({複写先のファイルを指定して下さい  複写元=}|OLDFILE);
  186.         NEWFILE:=@filesel;
  187.         NEWDIR:=@dir2(@getcdir);
  188.         case(@wild(OLDFILE),{Yes},{NEWFILE:={*.*}});
  189.         case(NEWFILE={},{Yes},{NEWFILE:={*.*}});
  190.         NEWFILE:=NEWDIR|NEWFILE;
  191.         };
  192.  
  193.     loop    ({
  194.         case(@FILEsel1({複写元のファイルを指定して下さい},)={},
  195.             {Yes},{im({No})},
  196.             {No},
  197.             {
  198.             FILEsel2;
  199.             case    (@filechk(NEWFILE),
  200.                 {Yes},
  201.                 {
  202.                 SNDMSG({kaknin_f.snd});
  203.                 footnote({ファイル複写  }|
  204.                         OLDFILE|{ -> }|NEWFILE);
  205.                 select    ({複写先のファイルに上書き}|
  206.                         {してもいいですか?},
  207.                     Wtime4,,
  208.                     { は い },
  209.                     {command({copy }|OLDFILE|{ }|NEWFILE)},
  210.                     { いいえ },
  211.                     );
  212.                 },
  213.                 {No},
  214.                 {command({copy }|OLDFILE|{ }|NEWFILE)}
  215.                 );
  216.             im({Yes});
  217.             });
  218.         });
  219.     };
  220.  
  221. /*    ファイル移動    */
  222. %MOVE    {
  223.     %FILEsel2{
  224.         SNDMSG({erande_f.snd});
  225.         footnote({移動先のディレクトリへ移動しキャンセルして下さい  移動元=}|
  226.                 OLDFILE);
  227.         filesel;
  228.         NEWDIR:=@getcdir;
  229.         NEWFILE:=@dir2(NEWDIR)|@tail(OLDFILE,{\});
  230.         };
  231.  
  232.     loop    ({
  233.         case    (@FILEsel1({移動元のファイルを指定して下さい},)={},
  234.             {Yes},{im({No})},
  235.             {No},
  236.             {
  237.             FILEsel2;
  238.             var    fileno    [3];
  239.             case(@wild(OLDFILE),
  240.                 {No},
  241.                 {
  242.                 case    (@filechk(NEWFILE),
  243.                     {Yes},
  244.                     {
  245.                     SNDMSG({kaknin_f.snd});
  246.                     footnote({ファイル移動  }|
  247.                         OLDFILE|{ -> }|NEWFILE);
  248.                     select    ({移動先のファイルに上書き}|
  249.                         {してもいいですか?},
  250.                         Wtime4,,
  251.                         { は い },{fileno:={1}},
  252.                         {  いいえ  },{fileno:={0}});
  253.                     },
  254.                     {No},{fileno:={1}}
  255.                     );
  256.                 },
  257.                 {Yes},
  258.                 {
  259.                 NEWFILE:=@body(NEWFILE,,{\})|{\*.*};
  260.                 fileno:={n};
  261.                 });
  262.             case    (fileno,
  263.                 {1},
  264.                 {
  265.                 command({del }|TEMP2|{fapxtemp.tmp});
  266.                 command({copy }|OLDFILE|{ }|NEWFILE|
  267.                     { > }|TEMP2|{fapxtemp.tmp});
  268.                 case    (@read(TEMP2|{fapxtemp.tmp}),
  269.                     {        1 個のファイルを}|
  270.                         {コピーしました.\n},
  271.                     {command({del }|OLDFILE)}
  272.                     );
  273.                 },
  274.                 {n},
  275.                 {
  276.                 command({del }|TEMP2|{fapxtemp.tmp});
  277.                 command({copy }|OLDFILE|{ }|NEWFILE|
  278.                     { > }|TEMP2|{fapxtemp.tmp});
  279.                 var    N    [4];
  280.                 N:=0;
  281.                 loop    ({
  282.                     N:=N+1;
  283.                     %f1 @read(TEMP2|{fapxtemp.tmp},N,1);
  284.                     case    (@tail(f1,{個のファイルを}),
  285.                         {コピーしました.\n},
  286.                         {im({No})},
  287.                         ,
  288.                         {
  289.                         case    (@head(f1,{\n})<>
  290.                             TEMP2|{_MOPTEMP.TMP},
  291.                             {Yes},
  292.                             {command({del }|
  293.                             @head(f1,{\n}))}
  294.                             );
  295.                         im({Yes});
  296.                         });
  297.                     });
  298.                 },
  299.                 {0},
  300.                 );
  301.             im({Yes});
  302.             });
  303.         });
  304.     };
  305.  
  306. /*    ファイル比較    */
  307. %COMPARE{
  308.     %FILEsel2{
  309.         SNDMSG({erande_f.snd});
  310.         footnote({比較先のファイルを指定して下さい  比較元=}|OLDFILE);
  311.         NEWFILE:=@filesel;
  312.         NEWDIR:=@getcdir;
  313.         case    (NEWFILE,
  314.             {},{im({})},,
  315.             {
  316.             case    (@nochar(NEWDIR)==3,
  317.                 {Yes},    {NEWFILE:=NEWDIR|NEWFILE},
  318.                 {No},    {NEWFILE:=NEWDIR|{\}|NEWFILE}
  319.                 );
  320.             case    (@filechk(NEWFILE),
  321.                 {No},
  322.                 {
  323.                 SNDMSG({okasi_f.snd});
  324.                 display(NEWFILE|{ がありません\n});
  325.                 FILEsel2;
  326.                 },
  327.                 {Yes},{im(NEWFILE)}
  328.                 );
  329.             });
  330.         };
  331.  
  332.     loop    ({
  333.         case    (@FILEsel0({比較元のファイルを指定して下さい},)={},
  334.             {Yes},{im({No})},
  335.             {No},
  336.             {
  337.             case    (@FILEsel2={},
  338.                 {Yes},{im({No})},
  339.                 {No},
  340.                 {
  341.                 footnote({ファイル比較  }|OLDFILE|
  342.                         { <-> }|NEWFILE);
  343.                 command({fc }|OLDFILE|{ }|NEWFILE);
  344.                 WAITLOOP;
  345.                 im({Yes});
  346.                 },
  347.                 {No},{im({No})}
  348.                 );
  349.             });
  350.         });
  351.     };
  352.  
  353. /*    ファイル名変更    */
  354. %RENAME    {
  355.     %FILEsel2{
  356.         SNDMSG({nyuryo_f.snd});
  357.         footnote({新ファイル名を入力して下さい  旧ファイル名=}|OLDFILE);
  358.         NEWFILE:=@input({新ファイル名を入力して下さい},,@tail(OLDFILE,{\}));
  359.         im(NEWFILE);
  360.         };
  361.  
  362.     loop    ({
  363.         case    (@FILEsel1({ファイル名を変更するファイルを}|
  364.                     {指定して下さい},)={},
  365.             {Yes},{im({No})},
  366.             {No},
  367.             {
  368.             case    (@FILEsel2={},
  369.                 {Yes},{im({No})},
  370.                 {No},
  371.                 {
  372.                 footnote({ファイル名変更  }|
  373.                         OLDFILE|{ -> }|NEWFILE);
  374.                 command({ren }|OLDFILE|{ }|NEWFILE);
  375.                 im({Yes});
  376.                 });
  377.             });
  378.         });
  379.     };
  380.  
  381. /*    全ファイル削除    */
  382. %DELall    {
  383.     SNDMSG({erande_f.snd});
  384.     footnote({全ファイル削除するディレクトリへ移動して}|
  385.             {キャンセルして下さい});
  386.     filesel;
  387.     OLDDIR:=@getcdir;
  388.     SNDMSG({kaknin_f.snd});
  389.     footnote({全ファイル削除  }|@dir2(OLDDIR)|{*.*});
  390.     select    (OLDDIR|{の全ファイルを削除してもいいですか?},
  391.         Wtime4,,
  392.         { は い },
  393.         {setcdir(OLDDIR);command({echo y|del *.*})},
  394.         { いいえ },
  395.         );
  396.     };
  397.  
  398. /*    ファイル一覧表示    */
  399. %DIR    {
  400.     loop    ({
  401.         case    (@FILEsel1({一覧表示するファイルを指定してください  },)
  402.                     ={},
  403.             {Yes},
  404.             {
  405.             OLDDIR:=@getcdir;
  406.             SNDMSG({kaknin_f.snd});
  407.             footnote({ファイル一覧表示  }|OLDDIR);
  408.             select    (OLDDIR|{の全ファイル一覧表示ですか?},
  409.                 Wtime4,,
  410.                 {全ファイル一覧表示},
  411.                 {
  412.                 command({dir }|OLDDIR);
  413.                 WAITLOOP;
  414.                 im({Yes});
  415.                 },
  416.                 {     取    消     },
  417.                 );
  418.             },
  419.             {No},
  420.             {
  421.             footnote({ファイル一覧表示  }|OLDFILE);
  422.             command({dir }|OLDFILE);
  423.             WAITLOOP;
  424.             im({Yes});
  425.             });
  426.         });
  427.     };
  428.  
  429. /*    ファイル編集    */
  430. %EDIT    {
  431.     [flag]
  432.     var    memono    [1];
  433.  
  434.     %FILEsel2{
  435.         [MSG,TYP]
  436.         SNDMSG({erande_f.snd});
  437.         footnote(MSG);
  438.         case    (TYP={},
  439.             {Yes},    {NEWFILE:=@filesel},
  440.             {No},    {NEWFILE:=@filesel(TYP)}
  441.             );
  442.         case    (NEWFILE={},
  443.             {Yes},{im({})},
  444.             {No},
  445.             {
  446.             case    (@wild(NEWFILE),
  447.                 {Yes},
  448.                 {
  449.                 display({ワイルドカード指定はできません\n});
  450.                 FILEsel2(MSG,TYP);
  451.                 },
  452.                 {No},
  453.                 {
  454.                 NEWFILE:=@dir2(@getcdir)|NEWFILE;
  455.                 im(NEWFILE);
  456.                 });
  457.             });
  458.         };
  459.  
  460.     %save    {
  461.         footnote({メモ}|memono|{を保存します});
  462.         %file    @FILEsel2({保存ファイル名を指定してください},);
  463.         case    (file<>{},
  464.             {Yes},
  465.             {
  466.             CloseAllMemo;
  467.             delfile(file);
  468.             mwrite(file,memono);
  469.             mopen(memono);
  470.             mclose(3);
  471.             im({No});
  472.             },
  473.             {No},{im({Yes})}
  474.             );
  475.         };
  476.  
  477.     %update{
  478.         footnote(OLDFILE|{を更新しています});
  479.         CloseAllMemo;
  480.         dispoff(!DEBUG);
  481.         command({copy }|OLDFILE|{ }|@body(OLDFILE,,{\})|{\*.bak});
  482.         dispoff({No});
  483.         delfile(OLDFILE);
  484.         mwrite(OLDFILE,memono);
  485.         mopen(memono);
  486.         mclose(3);
  487.         im({No});
  488.         };
  489.  
  490.     %cancel    {
  491.         SNDMSG({kaknin_f.snd});
  492.         footnote({文書編集を取消しますか?});
  493.         select({文書編集を取消しますか?},
  494.             Wtime4,
  495.             {footnote({});im({Yes})},
  496.             {  は  い  },
  497.             {
  498.             CloseAllMemo;
  499.             delfile(TEMP2|{fapxmemo.bak});
  500.             mwrite(TEMP2|{fapxmemo.bak},memono);
  501.             mopen(memono);
  502.             mclose(3);
  503.             footnote({});
  504.             im({No});
  505.             },
  506.             {  いいえ  },
  507.             {footnote({});im({Yes})}
  508.             );
  509.         };
  510.  
  511.     %rewrite{
  512.         footnote({編集中のメモ内容を清書しています});
  513.         CloseAllMemo;
  514.         %cdir @getcdir;
  515.         setcdir(CDIR);
  516.         delfile(TEMP2|{fapxtext.tmp});
  517.         delfile(TEMP2|{fapxtext.new});
  518.         mwrite(TEMP2|{fapxtext.tmp},memono);
  519.         dispoff(!DEBUG);
  520.         command({txf -f -i }|TEMP2|{fapxtext.tmp}|
  521.                 { -o }|TEMP2|{fapxtext.new});
  522.         dispoff({No});
  523.         case    (@filechk(TEMP2|{fapxtext.new}),
  524.             {Yes},
  525.             {
  526.             mclear(memono);
  527.             mread(TEMP2|{fapxtext.new},memono);
  528.             %memomax    @mlast;
  529.             var    memono1    [2];
  530.             memono1:=memono+1;
  531.             loop    ({
  532.                 case    (memono1<=memomax,
  533.                     {Yes},
  534.                     {
  535.                     case(@mcheck!=0,{Yes},{mclose(1)});
  536.                     mopen(memono1);
  537.                     });
  538.                 memono1:=memono1+1;
  539.                 im(memono1<=memomax);
  540.                 });
  541.             case    (memomax>memono,
  542.                 {Yes},
  543.                 {
  544.                 case(@mcheck!=0,{Yes},{mclose(1)});
  545.                 mopen(memono,0,21,639,399,{w});
  546.                 },
  547.                 {No},
  548.                 {
  549.                 case(@mcheck!=0,{Yes},{mclose(1)});
  550.                 mopen(memono,0,21,639,459,{w});
  551.                 });
  552.             },
  553.             {No},
  554.             {
  555.             display({清書機能には TXF.EXE がパスの通った}|
  556.                     {ディレクトリに必要です\n});
  557.             wait(2);
  558.             %memomax    @mlast;
  559.             var    memono1    [1];
  560.             memono1:=memono+1;
  561.             loop    ({
  562.                 case    (memono1<=memomax,
  563.                     {Yes},
  564.                     {
  565.                     case(@mcheck!=0,{Yes},{mclose(1)});
  566.                     mopen(memono1);
  567.                     });
  568.                 memono1:=memono1+1;
  569.                 im(memono1<=memomax);
  570.                 });
  571.             case    (memomax>memono,
  572.                 {Yes},
  573.                 {
  574.                 case(@mcheck!=0,{Yes},{mclose(1)});
  575.                 mopen(memono,0,21,639,399,{w});
  576.                 },
  577.                 {No},
  578.                 {
  579.                 case(@mcheck!=0,{Yes},{mclose(1)});
  580.                 mopen(memono,0,21,639,459,{w});
  581.                 });
  582.             });
  583.         setcdir(cdir);
  584.         im({Yes});
  585.         };
  586.  
  587.     /*    他のファイルを参照するためにメモを開く    */
  588.     %newmemo{
  589.         case    (@mlast==9,
  590.             {Yes},
  591.             {
  592.             footnote({メモ番号が一杯のため新しいメモが開けません});
  593.             wait(2);
  594.             },
  595.             {No},
  596.             {
  597.             CloseAllMemo;
  598.             mopen(memono,0,21,639,399);
  599.             mclose(1);
  600.             %memo1    @mlast+1;
  601.             madd(memo1,{});
  602.             %file1    @filesel;
  603.             case    (file1<>{}&&@filechk(file1),
  604.                 {Yes},{mread(file1,memo1)});
  605.             mopen(memo1,0,221,639,459);
  606.             });
  607.         im({Yes});
  608.         };
  609.  
  610.     /*    CD辞書を検索する    */
  611.     %cddic    {
  612.         SNDMSG({kaknin_f.snd});
  613.         footnote({CD-ROMに辞書をセットしてください});
  614.         select({CD-ROMに辞書をセットしてください},
  615.             Wtime4,,
  616.             {  O K  },
  617.             {
  618.             InactMemo;
  619.             %memono    @mlast+1;
  620.             case    (memono>9,
  621.                 {Yes},
  622.                 {footnote({これ以上メモを開けません});wait(1)},
  623.                 {No},
  624.                 {
  625.                 madd(memono,{});
  626.                 mopen(memono,0,241,639,459);
  627.                 CDfind(memono);
  628.                 DeleteMemo(memono);
  629.                 });
  630.             },
  631.             {  いいえ  },
  632.             );
  633.         footnote({});
  634.         InactMemo;
  635.         mopen(memono,0,21,639,459);
  636.         im({Yes});
  637.         };
  638.  
  639.     %MEMONO    @mlast;
  640.     case    (MEMONO==9,
  641.         {Yes},
  642.         {
  643.         footnote({メモ9を利用してファイル編集を行います});
  644.         SNDMSG({kaknin_f.snd});
  645.         select({メモ9を利用してファイル編集を行います},
  646.             Wtime4,{memono:=0},
  647.             { は い },{memono:=9},
  648.             { いいえ },{memono:=0}
  649.             );
  650.         },
  651.         {No},{memono:=MEMONO+1}
  652.         );
  653.     case    (memono>0&&flag==1,
  654.         {Yes},
  655.         {
  656.         loop    ({
  657.             CloseAllMemo;
  658.             case(@FILEsel0({編集するファイルを選択}|
  659.                         {してください},)<>{},
  660.                 {Yes},
  661.                 {
  662.                 mclear(memono);
  663.                 mread(OLDFILE,memono);
  664.                 mopen(memono,0,21,639,459,{w});
  665.                 loop    ({
  666.                     footnote({更新取消    清書    }|
  667.                          {UPLD    参照    CD辞}|
  668.                          {        },{b});
  669.                     waitx();
  670.                     case    (@xtype,
  671.                         101,update,    201,update,
  672.                         102,cancel,    202,cancel,
  673.                         104,rewrite,    204,rewrite,
  674.                         106,{UP1(memono)},
  675.                         206,{UP1(memono)},
  676.                         108,newmemo,    208,newmemo,
  677.                         110,cddic,    210,cddic,
  678.                         ,{im({Yes})}
  679.                         );
  680.                     });
  681.                 im({Yes});
  682.                 },
  683.                 {No},{im({No})}
  684.                 );
  685.             });
  686.         },
  687.         {No},    /* 新規ファイル編集の場合 */
  688.         {
  689.         case    (memono>0,
  690.             {Yes},
  691.             {
  692.             CloseAllMemo;
  693.             madd(memono,{});
  694.             mopen(memono,0,21,639,459,{w});
  695.             loop    ({
  696.                 footnote({保存取消    清書    }|
  697.                      {UPLD    参照    CD辞}|
  698.                      {        },{b});
  699.                 waitx();
  700.                 case    (@xtype,
  701.                     101,save,    201,save,
  702.                     102,cancel,    202,cancel,
  703.                     104,rewrite,    204,rewrite,
  704.                     106,{UP1(memono)},
  705.                     206,{UP1(memono)},
  706.                     110,cddic,    210,cddic,
  707.                     108,newmemo,    208,newmemo,
  708.                     ,{im({Yes})}
  709.                     );
  710.                 });
  711.             });
  712.         });
  713.     };
  714.  
  715. /*    オートアップロード制御ファイル作成処理    */
  716. %UP1    {
  717.     [memono]
  718.     %up2    {
  719.         footnote({メモの保存を行いますか?});
  720.         SNDMSG({erande_f.snd});
  721.         select({メモの保存をおこないますか?},
  722.             Wtime4,{im({Yes})},
  723.             { ファイルに保存して終了 },{save},
  724.             {ファイルに保存せずに終了},
  725.             {
  726.             CloseAllMemo;
  727.             mopen(memono);
  728.             mclose(3);
  729.             im({No});
  730.             },
  731.             {     編集画面に戻る     },{im({Yes})}
  732.             );
  733.         };
  734.  
  735.     footnote({アップロード先は?});
  736.     SNDMSG({erande_f.snd});
  737.     select({アップロード先は?},
  738.         Wtime4,{im({Yes})},
  739.         { テキストメール },{AUTOmail;up2},
  740.         { WPNCメール },{AUTOwpnc;up2},
  741.         {   フォーラム   },{AUTOforum;up2},
  742.         {シスオペ宛メール},{AUTOsmail;up2},
  743.         {センター宛メール},{AUTOcenter;up2},
  744.         { ホームパーティ },{AUTOhp;up2},
  745.         {    パティオ    },{AUTOpatio;up2},
  746.         {  プロフィール  },{AUTOprof;up2},
  747.         {    不在通知    },{AUTOalibi;up2},
  748.         {    取    消    },{im({Yes})}
  749.         );
  750.     };
  751.  
  752. /*    テキストメールアップ制御文作成    */
  753. %AUTOmail{
  754.     footnote({テキストメール送信制御文作成});
  755.     var    mail    [127];
  756.     var    title    [40];
  757.     var    handle    [16];
  758.     var    date    [6];
  759.     var    ok    [2];
  760.     handle:=HANDLE;
  761.     loop    ({
  762.         SNDMSG({nyuryo_f.snd});
  763.         %a    @plane(    {cテキストメール送信\n}|
  764.                 {t  送信先ID  /\n}|
  765.                 {c    PC-VAN宛のメールは先頭に「PCV>」を付加\n}|
  766.                 {s              / 検索 \n}|
  767.                 {t   タイトル   /xxxxxxxxxxxxxxxxxxxx}|
  768.                         {xxxxxxxxxxxxxxxxxxxx\n}|
  769.                 {t 送信元ハンドル  /xxxxxxxxxxxxxxx\n}|
  770.                 {t 送信日付指定 /xxxxxx\n}|
  771.                 {r 送信予約     /予約 /保留\n}|
  772.                 {s              / 登録 / 取消 \n},
  773.                 mail,title,handle,date,1);
  774.         mail:=    @head(@getline(a,1,1),{\n});
  775.         %search    @head(@getline(a,2,1),{\n});
  776.         title:=    @head(@getline(a,3,1),{\n});
  777.         handle:=@head(@getline(a,4,1),{\n});
  778.         date:=    @head(@getline(a,5,1),{\n});
  779.         %reserv    @head(@getline(a,6,1),{\n});
  780.         ok:=    @head(@getline(a,7,1),{\n});
  781.         im({No});    /* 右クリック時のデフォルト値 */
  782.         case    (search,
  783.             { 1},
  784.             {
  785.             %id1    @IDsearch;
  786.             case    (id1<>{},
  787.                 {Yes},
  788.                 {
  789.                 case    (mail<>{},
  790.                     {Yes},{mail:=mail|{,}|id1},
  791.                     {No},{mail:=id1}
  792.                     );
  793.                 });
  794.             mopen(memono,0,21,639,459,{w});
  795.             im({Yes});
  796.             });
  797.         case    (ok,
  798.             { 1},
  799.             {
  800.             %file    @crefile(UP,{UP});
  801.             CloseAllMemo;
  802.             mwrite(UP2|file,memono);
  803.             mopen(memono,0,21,639,459,{w});
  804.             %cntl    @RESERV(reserv)|{mail=}|mail|{;date=}|date|
  805.                 {;file=}|UP2|file|{;handle=}|handle|
  806.                 { ;title=}|title|CRLF;
  807.             write(UP2|{fapxup.ctl},cntl);
  808.             im({No});
  809.             },
  810.             { 2},{im({No})}
  811.             );
  812.         });
  813.     };
  814.  
  815. /*    WPNCメールアップ制御文作成    */
  816. %AUTOwpnc{
  817.     footnote({WPNCメール送信制御文作成});
  818.     var    wpnc    [127];
  819.     var    title    [40];
  820.     var    ok    [2];
  821.     loop    ({
  822.         SNDMSG({nyuryo_f.snd});
  823.         %a    @plane(    {cWPNCメール送信\n}|
  824.                 {t 送信アドレス  /\n}|
  825.                 {c    例 yamachan@fapx.xy.jp\n}|
  826.                 {s              / 検索 \n}|
  827.                 {t   タイトル   /xxxxxxxxxxxxxxxxxxxx}|
  828.                         {xxxxxxxxxxxxxxxxxxxx\n}|
  829.                 {r 送信予約     /予約 /保留\n}|
  830.                 {s              / 登録 / 取消 \n},
  831.                 wpnc,title,1);
  832.         wpnc:=    @head(@getline(a,1,1),{\n});
  833.         %search    @head(@getline(a,2,1),{\n});
  834.         title:=    @head(@getline(a,3,1),{\n});
  835.         %reserv    @head(@getline(a,4,1),{\n});
  836.         ok:=    @head(@getline(a,5,1),{\n});
  837.         im({No});    /* 右クリック時のデフォルト値 */
  838.         case    (search,
  839.             { 1},
  840.             {
  841.             %id1    @IDsearch;
  842.             case    (id1<>{},
  843.                 {Yes},
  844.                 {
  845.                 case    (wpnc<>{},
  846.                     {Yes},{wpnc:=wpnc|{,}|id1},
  847.                     {No},{wpnc:=id1}
  848.                     );
  849.                 });
  850.             im({Yes});
  851.             });
  852.         case    (ok,
  853.             { 1},
  854.             {
  855.             %file    @crefile(UP,{UP});
  856.             CloseAllMemo;
  857.             mwrite(UP2|file,memono);
  858.             mopen(memono,0,21,639,459,{w});
  859.             %cntl    @RESERV(reserv)|{wpnc=}|wpnc|{;}|
  860.                 {file=}|UP2|file|{;title=}|title|CRLF;
  861.             write(UP2|{fapxup.ctl},cntl);
  862.             },
  863.             { 2},{im({No})}
  864.             );
  865.         });
  866.     };
  867.  
  868. /*    フォーラム書き込み制御文作成    */
  869. %AUTOforum{
  870.     footnote({フォーラムの会議室への発言制御文作成});
  871.     var    forum    [8];
  872.     var    mes    [2];
  873.     var    reply    [5];
  874.     var    title    [40];
  875.     var    ok    [2];
  876.     loop    ({
  877.         SNDMSG({nyuryo_f.snd});
  878.         %a    @plane(    {cフォーラムの会議室への発言\n}|
  879.                 {t フォーラム名 /xxxxxxxx\n}|
  880.                 {t  会議室番号  /xx\n}|
  881.                 {tコメント元番号/xxxxx\n}|
  882.                 {t   タイトル   /xxxxxxxxxxxxxxxxxxxx}|
  883.                         {xxxxxxxxxxxxxxxxxxxx\n}|
  884.                 {r 送信予約     /予約 /保留\n}|
  885.                 {s              / 登録 / 取消 \n},
  886.                 forum,mes,reply,title,1);
  887.         forum:=    @head(@getline(a,1,1),{\n});
  888.         mes:=    @head(@getline(a,2,1),{\n});
  889.         reply:=    @head(@getline(a,3,1),{\n});
  890.         title:=    @head(@getline(a,4,1),{\n});
  891.         %reserv    @head(@getline(a,5,1),{\n});
  892.         ok:=    @head(@getline(a,6,1),{\n});
  893.         im({No});    /* 右クリック時のデフォルト値 */
  894.         case    (ok,
  895.             { 1},
  896.             {
  897.             %file    @crefile(UP,{UP});
  898.             CloseAllMemo;
  899.             mwrite(UP2|file,memono);
  900.             mopen(memono,0,21,639,459,{w});
  901.             %cntl    @RESERV(reserv)|
  902.                 {forum=}|forum|{;mes=}|mes|{;reply=}|reply|
  903.                 {;file=}|UP2|file|{;title=}|title|CRLF;
  904.             write(UP2|{fapxup.ctl},cntl);
  905.             im({No});
  906.             },
  907.             { 2},{im({No})}
  908.             );
  909.         });
  910.     };
  911.  
  912. /*    シスオペ宛メールアップ制御文作成    */
  913. %AUTOsmail{
  914.     footnote({シスオペ宛メール送信制御文作成});
  915.     var    forum    [8];
  916.     var    title    [40];
  917.     var    ok    [2];
  918.     loop    ({
  919.         SNDMSG({nyuryo_f.snd});
  920.         %a    @plane(    {cシスオペ宛メール送信\n}|
  921.                 {t フォーラム名 /xxxxxxxx\n}|
  922.                 {t   タイトル   /xxxxxxxxxxxxxxxxxxxx}|
  923.                         {xxxxxxxxxxxxxxxxxxxx\n}|
  924.                 {r 送信予約     /予約 /保留\n}|
  925.                 {s              / 登録 / 取消 \n},
  926.                 forum,title,1);
  927.         forum:=    @head(@getline(a,1,1),{\n});
  928.         title:=    @head(@getline(a,2,1),{\n});
  929.         %reserv    @head(@getline(a,3,1),{\n});
  930.         ok:=    @head(@getline(a,4,1),{\n});
  931.         im({No});    /* 右クリック時のデフォルト値 */
  932.         case    (ok,
  933.             { 1},
  934.             {
  935.             %file    @crefile(UP,{UP});
  936.             CloseAllMemo;
  937.             mwrite(UP2|file,memono);
  938.             mopen(memono,0,21,639,459,{w});
  939.             %cntl    @RESERV(reserv)|{sysmail=}|forum|
  940.                 {;file=}|UP2|file|{;title=}|title|CRLF;
  941.             write(UP2|{fapxup.ctl},cntl);
  942.             im({No});
  943.             },
  944.             { 2},{im({No})}
  945.             );
  946.         });
  947.     };
  948.  
  949. /*    センター宛メールアップ制御文作成    */
  950. %AUTOcenter{
  951.     footnote({センター宛メール送信制御文作成});
  952.     var    title    [40];
  953.     var    ok    [2];
  954.     loop    ({
  955.         SNDMSG({nyuryo_f.snd});
  956.         %a    @plane(    {cセンター宛メール送信\n}|
  957.                 {t   タイトル   /xxxxxxxxxxxxxxxxxxxx}|
  958.                         {xxxxxxxxxxxxxxxxxxxx\n}|
  959.                 {r 送信予約     /予約 /保留\n}|
  960.                 {s              / 登録 / 取消 \n},
  961.                 title,1);
  962.         title:=    @head(@getline(a,1,1),{\n});
  963.         %reserv    @head(@getline(a,2,1),{\n});
  964.         ok:=    @head(@getline(a,3,1),{\n});
  965.         im({No});    /* 右クリック時のデフォルト値 */
  966.         case    (ok,
  967.             { 1},
  968.             {
  969.             %file    @crefile(UP,{UP});
  970.             CloseAllMemo;
  971.             mwrite(UP2|file,memono);
  972.             mopen(memono,0,21,639,459,{w});
  973.             %cntl    @RESERV(reserv)|{center=;file=}|
  974.                 UP2|file|{;title=}|title|CRLF;
  975.             write(UP2|{fapxup.ctl},cntl);
  976.             im({No});
  977.             },
  978.             { 2},{im({No})}
  979.             );
  980.         });
  981.     };
  982.  
  983. /*    ホームパーティ書き込み制御文作成    */
  984. %AUTOhp    {
  985.     footnote({ホームパーティへの発言制御文作成});
  986.     var    hp    [8];
  987.     var    pass    [8];
  988.     var    title    [40];
  989.     var    ok    [2];
  990.     loop    ({
  991.         SNDMSG({nyuryo_f.snd});
  992.         %a    @plane(    {cホームパーティへの発言\n}|
  993.                 {t  HPのID  /xxxxxxxx\n}|
  994.                 {s              / 検索 \n}|
  995.                 {t  パスワード  /xxxxxxxx\n}|
  996.                 {s              / 検索 \n}|
  997.                 {t   タイトル   /xxxxxxxxxxxxxxxxxxxx}|
  998.                         {xxxxxxxxxxxxxxxxxxxx\n}|
  999.                 {r 送信予約     /予約 /保留\n}|
  1000.                 {s              / 登録 / 取消 \n},
  1001.                 hp,pass,title,1);
  1002.         hp:=    @head(@getline(a,1,1),{\n});
  1003.         %search    @head(@getline(a,2,1),{\n});
  1004.         pass:=    @head(@getline(a,3,1),{\n});
  1005.         %scan    @head(@getline(a,4,1),{\n});
  1006.         title:=    @head(@getline(a,5,1),{\n});
  1007.         %reserv    @head(@getline(a,6,1),{\n});
  1008.         ok:=    @head(@getline(a,7,1),{\n});
  1009.         im({No});    /* 右クリック時のデフォルト値 */
  1010.         case    (search,
  1011.             { 1},
  1012.             {
  1013.             %id1    @IDsearch;
  1014.             case(id1={},{Yes},{},{No},{hp:=id1});
  1015.             im({Yes});
  1016.             });
  1017.         case    (scan,
  1018.             { 1},{pass:=@SCANPW(hp,{HP});im({Yes})});
  1019.         case    (ok,
  1020.             { 1},
  1021.             {
  1022.             %file    @crefile(UP,{UP});
  1023.             CloseAllMemo;
  1024.             mwrite(UP2|file,memono);
  1025.             mopen(memono,0,21,639,459,{w});
  1026.             %cntl    @RESERV(reserv)|{hp=}|hp|{;pass=}|pass|
  1027.                 {;file=}|UP2|file|{;title=}|title|CRLF;
  1028.             write(UP2|{fapxup.ctl},cntl);
  1029.             im({No});
  1030.             },
  1031.             { 2},{im({No})}
  1032.             );
  1033.         });
  1034.     };
  1035.  
  1036. /*    パティオ書き込み制御文作成    */
  1037. %AUTOpatio{
  1038.     footnote({パティオへの発言制御文作成});
  1039.     var    patio    [8];
  1040.     var    pass    [8];
  1041.     var    mes    [3];
  1042.     var    reply    [5];
  1043.     var    title    [40];
  1044.     var    ok    [2];
  1045.     reply:={1};
  1046.     loop    ({
  1047.         SNDMSG({nyuryo_f.snd});
  1048.         %a    @plane(    {cパティオへの発言\n}|
  1049.                 {tパティオのID/xxxxxxxx\n}|
  1050.                 {s              / 検索 \n}|
  1051.                 {t  パスワード  /xxxxxxxx\n}|
  1052.                 {s              / 検索 \n}|
  1053.             /*    {t  会議室番号  /xxxxxxxx\n}|    */
  1054.                 {tコメント元番号/xxxxxxxx\n}|
  1055.                 {t   タイトル   /xxxxxxxxxxxxxxxxxxxx}|
  1056.                         {xxxxxxxxxxxxxxxxxxxx\n}|
  1057.                 {r 送信予約     /予約 /保留\n}|
  1058.                 {s              / 登録 / 取消 \n},
  1059.                 patio,pass,mes,reply,title,1);
  1060.         patio:=    @head(@getline(a,1,1),{\n});
  1061.         %search    @head(@getline(a,2,1),{\n});
  1062.         pass:=    @head(@getline(a,3,1),{\n});
  1063.         %scan    @head(@getline(a,4,1),{\n});
  1064.     /*    mes:=    @head(@getline(a,4,1),{\n});    */
  1065.         reply:=    @head(@getline(a,5,1),{\n});
  1066.         title:=    @head(@getline(a,6,1),{\n});
  1067.         %reserv    @head(@getline(a,7,1),{\n});
  1068.         ok:=    @head(@getline(a,8,1),{\n});
  1069.         im({No});    /* 右クリック時のデフォルト値 */
  1070.         case    (search,
  1071.             { 1},
  1072.             {
  1073.             %id1    @IDsearch;
  1074.             case(id1={},{Yes},{},{patio:=id1});
  1075.             im({Yes});
  1076.             });
  1077.         case    (scan,
  1078.             { 1},
  1079.             {pass:=@SCANPW(patio,{PATIO});im({Yes})});
  1080.         case    (ok,
  1081.             { 1},
  1082.             {
  1083.             %file    @crefile(UP,{UP});
  1084.             CloseAllMemo;
  1085.             mwrite(UP2|file,memono);
  1086.             mopen(memono,0,21,639,459,{w});
  1087.             %cntl    @RESERV(reserv)|{patio=}|patio|{;pass=}|pass|
  1088.                 {;mes=}|{1}|{;reply=}|reply|
  1089.                 {;file=}|UP2|file|{;title=}|title|CRLF;
  1090.             write(UP2|{fapxup.ctl},cntl);
  1091.             im({No});
  1092.             },
  1093.             { 2},{im({No})}
  1094.             );
  1095.         });
  1096.     };
  1097.  
  1098. /*    プロフィール情報書き込み制御文作成    */
  1099. %AUTOprof{
  1100.     footnote({プロフィール情報登録制御文作成});
  1101.     var    ok    [2];
  1102.     loop    ({
  1103.         %a    @plane(    {cプロフィール情報登録\n}|
  1104.                 {r 送信予約     /予約 /保留\n}|
  1105.                 {s              / 登録 / 取消 \n},
  1106.                 1);
  1107.         %reserv    @head(@getline(a,1,1),{\n});
  1108.         ok:=    @head(@getline(a,2,1),{\n});
  1109.         im({No});    /* 右クリック時のデフォルト値 */
  1110.         case    (ok,
  1111.             { 1},
  1112.             {
  1113.             %file    @crefile(UP,{UP});
  1114.             CloseAllMemo;
  1115.             mwrite(UP2|file,memono);
  1116.             mopen(memono,0,21,639,459,{w});
  1117.             %cntl    @RESERV(reserv)|{profile=;}|
  1118.                 {file=}|UP2|file|{;\n};
  1119.             write(UP2|{fapxup.ctl},cntl);
  1120.             im({No});
  1121.             },
  1122.             { 2},{im({No})}
  1123.             );
  1124.         });
  1125.     };
  1126.  
  1127. /*    不在通知書き込み制御文作成    */
  1128. %AUTOalibi{
  1129.     footnote({不在通知登録制御文作成});
  1130.     var    ok    [2];
  1131.     loop    ({
  1132.         %a    @plane(    {c不在通知登録\n}|
  1133.                 {r 送信予約     /予約 /保留\n}|
  1134.                 {s              / 登録 / 取消 \n},
  1135.                 1);
  1136.         %reserv    @head(@getline(a,1,1),{\n});
  1137.         ok:=    @head(@getline(a,2,1),{\n});
  1138.         im({No});    /* 右クリック時のデフォルト値 */
  1139.         case    (ok,
  1140.             { 1},
  1141.             {
  1142.             %file    @crefile(UP,{UP});
  1143.             CloseAllMemo;
  1144.             mwrite(UP2|file,memono);
  1145.             mopen(memono,0,21,639,459,{w});
  1146.             %cntl    @RESERV(reserv)|{alibi=;file=}|UP2|file|{;\n};
  1147.             write(UP2|{fapxup.ctl},cntl);
  1148.             im({No});
  1149.             },
  1150.             { 2},{im({No})}
  1151.             );
  1152.         });
  1153.     };
  1154.  
  1155. /*    ファイル実行    */
  1156. %EXEC    {
  1157.     var    PARAM    [64];
  1158.     %execfile{
  1159.         SNDMSG({nyuryo_f.snd});
  1160.         PARAM:=@input(OLDFILE|{ のパラメータを入力して下さい});
  1161.         footnote({ファイル実行中  }|OLDFILE);
  1162.         command(OLDFILE|{ }|PARAM);
  1163.         im({Yes});
  1164.         };
  1165.     loop    ({
  1166.         case    (@FILEsel0({実行するファイルを指定して下さい},)={},
  1167.             {Yes},{im({No})},
  1168.             {No},
  1169.             {
  1170.             case    (@tail(OLDFILE,{.}),
  1171.                 {COM},execfile,
  1172.                 {EXE},execfile,
  1173.                 {BAT},execfile,
  1174.                 ,
  1175.                 {
  1176.                 SNDMSG({okasi_f.snd});
  1177.                 display(OLDFILE|{ は実行できません});
  1178.                 im({Yes});
  1179.                 });
  1180.             });
  1181.         });
  1182.     };
  1183.  
  1184. /*    NAPLPSファイル表示    */
  1185. var    opfi    [64];
  1186. %npm     {NAPLPS データファイルを指定して下さい};
  1187.  
  1188. %NPS    {
  1189.     [np]
  1190.     footnote({NAPLPSファイル表示  }|np);
  1191.     CloseAllMemo;
  1192.     naplps(np);
  1193.     loop    ({
  1194.         footnote({終了    再現        }|
  1195.              {                    }|{        },{b});
  1196.         waitx();
  1197.         case    (@xtype,
  1198.             101,{napend;im({No});},
  1199.             201,{napend;im({No});},
  1200.             103,{napend;naplps(np);im({Yes})},
  1201.             203,{napend;naplps(np);im({Yes})},
  1202.             ,{im({Yes})}
  1203.             );
  1204.         });
  1205.     im({Yes});
  1206.     };
  1207.  
  1208. %NAPLPS    {
  1209.     setcdir2(NPSDIR);
  1210.     loop    ({
  1211.         case    (@FILEsel0(npm,{NPB})={},{Yes},{im({No})},
  1212.             {No},{NPS(OLDFILE)});
  1213.         case    (OLDFILE={},{No},{opfi:=OLDFILE});});
  1214.     setcdir2(CDIR);
  1215.     };
  1216.  
  1217. /*    ファイル応用操作    (lha,ish,diet)    */
  1218. /*    ファイル凍結    */
  1219. %LHAarc    {
  1220.     %FILEsel2{
  1221.         SNDMSG({nyuryo_f.snd});
  1222.         footnote({書庫ファイル名を入力して下さい  元ファイル=}|OLDFILE);
  1223.         NEWFILE:=@filesel({LZH});
  1224.         NEWDIR:=@getcdir;
  1225.         case(NEWFILE<>{},{Yes},{NEWFILE:=@dir2(NEWDIR)|NEWFILE});
  1226.         im(NEWFILE);
  1227.         };
  1228.  
  1229.     loop    ({
  1230.         case    (@FILEsel1({圧縮凍結するファイルを指定して下さい},)={},
  1231.             {Yes},{im({No})},
  1232.             {No},
  1233.             {
  1234.             case    (@FILEsel2={},
  1235.                 {Yes},{im({No})},
  1236.                 {No},
  1237.                 {
  1238.                 footnote({ファイル圧縮凍結処理中  }|
  1239.                         OLDFILE|{ -> }|NEWFILE);
  1240.                 %cdir1    @getcdir;
  1241.                 setcdir(CDIR);
  1242.                 command({lha u }|NEWFILE|{ }|OLDFILE);
  1243.                 setcdir(cdir1);
  1244.                 im({Yes});
  1245.                 });
  1246.             });
  1247.         });
  1248.     };
  1249.  
  1250. /*    ファイル解凍    */
  1251. %LHAext    {
  1252.     %FILEsel2{
  1253.         SNDMSG({erande_f.snd});
  1254.         footnote({解凍先のディレクトリへ移動しキャンセルして下さい  解凍元=}|
  1255.                 OLDFILE);
  1256.         filesel;
  1257.         };
  1258.  
  1259.     loop    ({
  1260.         case    (@FILEsel0({解凍する *.LZH ファイルを指定して下さい},
  1261.                     {LZH})={},
  1262.             {Yes},{im({No})},
  1263.             {No},
  1264.             {
  1265.             %cdir    @getcdir;
  1266.             FILEsel2;
  1267.             footnote({ファイル解凍処理中  }|OLDFILE);
  1268.             %cdir1    @getcdir;
  1269.             %cdir2    @dir2(cdir1);
  1270.             setcdir(CDIR);
  1271.             command({lha x }|OLDFILE|{ }|cdir2);
  1272.             setcdir(cdir);
  1273.             im({Yes});
  1274.             });
  1275.         });
  1276.     };
  1277.  
  1278. /*    凍結ファイル内容表示    */
  1279. %LHAlst    {
  1280.     loop    ({
  1281.         case    (@FILEsel0({内容表示する *.LZH ファイルを}|
  1282.                     {指定して下さい},{LZH})={},
  1283.             {Yes},{im({No})},
  1284.             {No},
  1285.             {
  1286.             footnote({凍結ファイル内容表示中  }|OLDFILE);
  1287.             %cdir1    @getcdir;
  1288.             setcdir(CDIR);
  1289.             command({lha l }|OLDFILE);
  1290.             setcdir(cdir1);
  1291.             WAITLOOP;
  1292.             im({Yes});
  1293.             });
  1294.         });
  1295.     };
  1296.  
  1297. /*    ファイル石化    */
  1298. %ISHstr    {
  1299.     loop    ({
  1300.         case    (@FILEsel1({*.ISH ファイルに変換するファイルを}|
  1301.                     {指定して下さい},)={},
  1302.             {Yes},{im({No})},
  1303.             {No},
  1304.             {
  1305.             case    (OLDFILE={},
  1306.                 {Yes},{im({No})},
  1307.                 {No},
  1308.                 {
  1309.                 footnote({ISHファイル変換処理中  }|OLDFILE);
  1310.                 %cdir1    @getcdir;
  1311.                 setcdir(CDIR);
  1312.                 command({ish }|OLDFILE|{ /ss /m }|cdir1);
  1313.                 setcdir(cdir1);
  1314.                 im({Yes});
  1315.                 });
  1316.             });
  1317.         });
  1318.     };
  1319.  
  1320. /*    ファイル解石    */
  1321. %ISHres    {
  1322.     loop    ({
  1323.         case    (@FILEsel1({復元する *.ISH ファイルを指定して下さい},
  1324.                     {ISH})={},
  1325.             {Yes},{im({No})},
  1326.             {No},
  1327.             {
  1328.             case    (OLDFILE={},
  1329.                 {Yes},{im({No})},
  1330.                 {No},
  1331.                 {
  1332.                 footnote({ISHファイル復元処理中  }|OLDFILE);
  1333.                 %cdir1    @getcdir;
  1334.                 setcdir(CDIR);
  1335.                 command({ish }|OLDFILE|{ /r /m }|cdir1);
  1336.                 setcdir(cdir1);
  1337.                 im({Yes});
  1338.                 });
  1339.             });
  1340.         });
  1341.     };
  1342.  
  1343. /*    ダイエット処理    */
  1344. %DIETarc{
  1345.     loop    ({
  1346.         case    (@FILEsel1({ダイエットするファイルを指定して下さい},)
  1347.                     ={},
  1348.             {Yes},{im({No})},
  1349.             {No},
  1350.             {
  1351.             case    (OLDFILE={},
  1352.                 {Yes},{im({No})},
  1353.                 {No},
  1354.                 {
  1355.                 footnote({ダイエット処理中  }|OLDFILE);
  1356.                 command({diet }|OLDFILE);
  1357.                 im({Yes});
  1358.                 });
  1359.             });
  1360.         });
  1361.     };
  1362.  
  1363. /*    ダイエットファイル復元    */
  1364. %DIETres{
  1365.     loop    ({
  1366.         case    (@FILEsel1({復元するダイエットファイルを}|
  1367.                     {指定して下さい},)={},
  1368.             {Yes},{im({No})},
  1369.             {No},
  1370.             {
  1371.             case    (OLDFILE={},
  1372.                 {Yes},{im({No})},
  1373.                 {No},
  1374.                 {
  1375.                 footnote({ダイエットファイル復元処理中  }|
  1376.                         OLDFILE);
  1377.                 command({diet -ra }|OLDFILE);
  1378.                 im({Yes});
  1379.                 });
  1380.             });
  1381.         });
  1382.     };
  1383.  
  1384. /*    差分ファイル作成処理    */
  1385. %BDIFF    {
  1386.     %FILEsel2{
  1387.         SNDMSG({nyuryo_f.snd});
  1388.         footnote({新ファイル名を入力して下さい  旧ファイル=}|OLDFILE);
  1389.         NEWFILE:=@filesel;
  1390.         NEWDIR:=@getcdir;
  1391.         case(NEWFILE<>{},{Yes},{NEWFILE:=@dir2(NEWDIR)|NEWFILE});
  1392.         im(NEWFILE);
  1393.         };
  1394.  
  1395.     loop    ({
  1396.         case    (@FILEsel0({差分を作成する旧ファイルを指定して下さい},)={},
  1397.             {Yes},{im({No})},
  1398.             {No},
  1399.             {
  1400.             case    (@FILEsel2={},
  1401.                 {Yes},{im({No})},
  1402.                 {No},
  1403.                 {
  1404.                 footnote({ファイル差分作成処理中  }|
  1405.                         OLDFILE|{ -> }|NEWFILE);
  1406.                 %cdir1    @getcdir;
  1407.                 %cdir2    @dir2(cdir1);
  1408.                 setcdir(CDIR);
  1409.                 command({BDIFF }|OLDFILE|{ }|NEWFILE|{ }|
  1410.                     cdir2|@head(@tail(NEWFILE,{\}),{.}));
  1411.                 setcdir(cdir1);
  1412.                 im({Yes});
  1413.                 });
  1414.             });
  1415.         });
  1416.     };
  1417.  
  1418. /*    差分ファイル復元処理    */
  1419. %BUPDATE{
  1420.     loop    ({
  1421.         case    (@FILEsel0({差分ファイルを指定して下さい},{BDF})={},
  1422.             {Yes},{im({No})},
  1423.             {No},
  1424.             {
  1425.             footnote({ファイル差分更新処理中  差分ファイル=}|OLDFILE);
  1426.             %cdir1    @getcdir;
  1427.             %cdir2    @dir2(cdir1);
  1428.             setcdir(CDIR);
  1429.             command({BUPDATE }|OLDFILE|{ }|cdir2|{*.*});
  1430.             setcdir(cdir1);
  1431.             im({Yes});
  1432.             });
  1433.         });
  1434.     };
  1435.  
  1436. /*    差分ファイル内容確認処理    */
  1437. %BUPDview{
  1438.     loop    ({
  1439.         case    (@FILEsel0({差分ファイルを指定して下さい},{BDF})={},
  1440.             {Yes},{im({No})},
  1441.             {No},
  1442.             {
  1443.             footnote({差分ファイル内容表示中  差分ファイル=}|OLDFILE);
  1444.             %cdir1    @getcdir;
  1445.             %cdir2    @dir2(cdir1);
  1446.             setcdir(CDIR);
  1447.             command({BUPDATE -v }|OLDFILE|{ }|cdir2|{*.*});
  1448.             setcdir(cdir1);
  1449.             footnote({終了},{b});
  1450.             loop    ({
  1451.                 waitx();
  1452.                 case    (@xtype,
  1453.                     101,{im({No})},    201,{im({No})},
  1454.                     ,{im({Yes})}
  1455.                     );
  1456.                 });
  1457.             im({Yes});
  1458.             });
  1459.         });
  1460.     };
  1461.  
  1462. /*    ディレクトリ基本操作    */
  1463. /*    ツリー表示    */
  1464. %TREE    {
  1465.     SNDMSG({erande_f.snd});
  1466.     footnote({ツリー表示するディレクトリへ移動してキャンセルして下さい});
  1467.     filesel;
  1468.     OLDDIR:=@getcdir;
  1469.     footnote({ツリー表示中  }|OLDDIR);
  1470.     command({tree }|OLDDIR);
  1471.     WAITLOOP;
  1472.     };
  1473.  
  1474. /*    ディレクトリ作成    */
  1475. %MKDIR    {
  1476.     SNDMSG({erande_f.snd});
  1477.     footnote({作成するディレクトリ名を指定して下さい});
  1478.     NEWDIR:=@filesel;
  1479.     OLDDIR:=@getcdir;
  1480.     case    (@nochar(OLDDIR)==3,
  1481.         {Yes},    {NEWDIR:=OLDDIR|NEWDIR},
  1482.         {No},    {NEWDIR:=OLDDIR|{\}|NEWDIR}
  1483.         );
  1484.     mkdir2(NEWDIR);
  1485.     };
  1486.  
  1487. /*    ディレクトリ削除    */
  1488. %RMDIR    {
  1489.     SNDMSG({erande_f.snd});
  1490.     footnote({削除するディレクトリへ移動してキャンセルして下さい});
  1491.     filesel;
  1492.     OLDDIR:=@getcdir;
  1493.     case    (@nochar(OLDDIR)==3,
  1494.         {Yes},
  1495.         {
  1496.         SNDMSG({okasi_f.snd});
  1497.         display({ルートディレクトリは削除できません\n});
  1498.         },
  1499.         {No},
  1500.         {
  1501.         SNDMSG({kaknin_f.snd});
  1502.         footnote({削除ディレクトリ=}|OLDDIR);
  1503.         select    ({ディレクトリ }|OLDDIR|{ を削除してもいいですか?},
  1504.             Wtime4,,
  1505.             { は い },
  1506.             {
  1507.             setcdir2(@body(OLDDIR,,{\}));
  1508.             command({rmdir }|@tail(OLDDIR,{\}));
  1509.             },
  1510.             { いいえ },
  1511.             );
  1512.         });
  1513.     };
  1514.  
  1515. /*    ディレクトリ複写    */
  1516. %DIRCOPY{
  1517.     %FILEsel1{
  1518.         SNDMSG({erande_f.snd});
  1519.         footnote({複写元のディレクトリへ移動してキャンセルして下さい});
  1520.         filesel;
  1521.         OLDDIR:=@getcdir;
  1522.         };
  1523.  
  1524.     %FILEsel2{
  1525.         SNDMSG({erande_f.snd});
  1526.         footnote({複写先のディレクトリは?  複写元=}|OLDDIR);
  1527.         filesel;
  1528.         NEWDIR:=@getcdir;
  1529.         };
  1530.  
  1531.     FILEsel1;
  1532.     display({複写元ディレクトリ  }|OLDDIR|{\n});
  1533.     wait(1);
  1534.     FILEsel2;
  1535.     SNDMSG({kaknin_f.snd});
  1536.     footnote({ディレクトリ複写  }|OLDDIR|{ -> }|NEWDIR);
  1537.     select    ({ディレクトリ複写を実行してもいいですか?},
  1538.         Wtime4,,
  1539.         { は い },{command({xcopy }|OLDDIR|{ }|NEWDIR|{ /s /e})},
  1540.         { いいえ },
  1541.         );
  1542.     };
  1543.  
  1544. /*    フロッピィディスク操作    */
  1545. /*    フロッピィディスク初期化    */
  1546. %FORMAT    {
  1547.     var    DEVICE    [2];
  1548.     var    FPDtype    [9];
  1549.     var    OPT    [2];
  1550.     var    LABEL    [11];
  1551.     LABEL:={};
  1552.     loop    ({
  1553.         SNDMSG({erande_f.snd});
  1554.         footnote({初期化するフロッピィディスク装置を選んで下さい});
  1555.         select    ({初期化するフロッピィディスク装置を選んで下さい},
  1556.             Wtime4,{DEVICE:={}},
  1557.             {  A  },{DEVICE:={A:}},
  1558.             {  B  },{DEVICE:={B:}},
  1559.             { 終 了 },{DEVICE:={}}
  1560.             );
  1561.         case    (DEVICE={},
  1562.             {Yes},{im({No})},
  1563.             {No},
  1564.             {
  1565.             SNDMSG({erande_f.snd});
  1566.             footnote({フロッピィディスクの種類を選んで下さい});
  1567.             select    ({フロッピィディスクの種類を選んで下さい},
  1568.                 Wtime4,{FPDtype:={2HD/1.2MB}},
  1569.                 {2HD/1.44MB},
  1570.                 {FPDtype:={2HD/1.44MB};OPT:={e}},
  1571.                 {2HD/ 1.2MB},
  1572.                 {FPDtype:={2HD/1.2MB};OPT:={}},
  1573.                 {2DD/ 640KB},
  1574.                 {FPDtype:={2DD/640KB};OPT:={/8}},
  1575.                 {2DD/ 720KB},
  1576.                 {FPDtype:={2DD/720KB};OPT:={/9}}
  1577.                 );
  1578.             SNDMSG({nyuryo_f.snd});
  1579.             footnote({ボリュームラベル名を入力して下さい});
  1580.             LABEL:=@input({ボリュームラベル名を入力して下さい},,
  1581.                     LABEL);
  1582.             case    (@nochar(LABEL)>11,
  1583.                 {Yes},{LABEL:=@getchar(LABEL,1,11)}
  1584.                 );
  1585.             SNDMSG({kaknin_f.snd});
  1586.             footnote({DEVICE=}|DEVICE|{  TYPE=}|FPDtype|
  1587.                     {  LABEL=}|LABEL);
  1588.             select({初期化を行います}|
  1589.                 {  フロッピィをセットして下さい},
  1590.                 Wtime4,,
  1591.                 { O K },
  1592.                 {
  1593.                 footnote({フロッピィディスク初期化中  }|
  1594.                         DEVICE);
  1595.                 delfile(TEMP2|{fapxform.tmp});
  1596.                 write(TEMP2|{fapxform.tmp},{\n}|LABEL|{\nN\n});
  1597.                 command({type }|TEMP2|{fapxform.tmp}|
  1598.                     {|format }|DEVICE|{ }|OPT);
  1599.                 },
  1600.                 { N G },
  1601.                 );
  1602.             im({Yes});
  1603.             });
  1604.         });
  1605.     };
  1606.  
  1607. /*    フロッピィディスク複写    */
  1608. %DISKCOPY{
  1609.     var    DEVICE1    [2];
  1610.     var    DEVICE2    [2];
  1611.     loop    ({
  1612.         SNDMSG({erande_f.snd});
  1613.         footnote({複写元と複写先を選んで下さい});
  1614.         select({複写元と複写先を選んで下さい},
  1615.             Wtime4,{DEVICE1:={}},
  1616.             { A → B },{DEVICE1:={A:};DEVICE2:={B:}},
  1617.             { B → A },{DEVICE1:={B:};DEVICE2:={A:}},
  1618.             {  終 了  },{DEVICE1:={}});
  1619.         case    (DEVICE1={},
  1620.             {Yes},{im({No})},
  1621.             {No},
  1622.             {
  1623.             SNDMSG({kaknin_f.snd});
  1624.             footnote({フロッピィディスク複写  }|
  1625.                     DEVICE1|{ -> }|DEVICE2);
  1626.             select    ({複写を行います}|
  1627.                     {  フロッピィをセットして下さい},
  1628.                 Wtime4,,
  1629.                 { O K },
  1630.                 {
  1631.                 delfile(TEMP2|{fapxdkcp.tmp});
  1632.                 write(TEMP2|{fapxdkcp.tmp},{\nN\n});
  1633.                 command({type }|TEMP2|{fapxdkcp.tmp}|
  1634.                     {|diskcopy }|DEVICE1|{ }|DEVICE2);
  1635.                 },
  1636.                 { N G },
  1637.                 );
  1638.             im({Yes});
  1639.             });
  1640.         });
  1641.     };
  1642.  
  1643. /*    フロッピィディスク比較    */
  1644. %DISKCOMP{
  1645.     loop    ({
  1646.         SNDMSG({kaknin_f.snd});
  1647.         footnote({フロッピィディスク比較  A: <-> B:});
  1648.         select    ({比較を行います  フロッピィをセットして下さい},
  1649.             Wtime4,,
  1650.             { O K },
  1651.             {
  1652.             delfile(TEMP2|{fapxdkcm.tmp});
  1653.             write(TEMP2|{fapxdkcm.tmp},{\nN\n});
  1654.             command({type }|TEMP2|{fapxdkcm.tmp}|
  1655.                 {|diskcomp A: B:});
  1656.             im({Yes});
  1657.             },
  1658.             { 終  了 },{im({No})}
  1659.             );
  1660.         });
  1661.     };
  1662.  
  1663. /*    コマンドシェル実行    */
  1664. %COMMAND{
  1665.     footnote({コマンド実行モード中  EXIT<cr>と入力すると終了します});
  1666.     loop    ({
  1667.         display(@getcdir|{>});
  1668.         %cmd @input({},{u});
  1669.         case(cmd={EXIT}||cmd={exit},
  1670.             {Yes},{display(cmd|CRLF);im({No})},
  1671.             {No},{command(cmd);im({Yes})})
  1672.         });
  1673.     };
  1674.  
  1675. /*    詳細メニュー    */
  1676. /*    ファイル基本操作の選択    */
  1677. %FILEman1{
  1678.     loop    ({
  1679.         SNDMSG({erande_f.snd});
  1680.         footnote({ファイル基本操作の処理を選択して下さい});
  1681.         select({ファイル基本操作メニュー},
  1682.             Wtime4,{im({No})},
  1683.             {ファイル表示     -type     },{DISPLAY;im({Yes})},
  1684.             {ファイル16進表示 =DUMP     },{DUMP;im({Yes})},
  1685.             {ファイルサイズ   >TXL -lcx },{SIZE;im({Yes})},
  1686.             {ファイル複写     -copy     },{COPY;im({Yes})},
  1687.             {ファイル移動     -copy&del },{MOVE;im({Yes})},
  1688.             {ファイル名変更   -rename   },{RENAME;im({Yes})},
  1689.             {ファイル比較     =FC       },{COMPARE;im({Yes})},
  1690.             {ファイル削除     -del      },{DELETE;im({Yes})},
  1691.             {全ファイル削除   -del *.*  },{DELall;im({Yes})},
  1692.             {ファイル一覧表示 -dir      },{DIR;im({Yes})},
  1693.             {EOFコード除去    >TXF -rz  },{RMZ;im({Yes})},
  1694.             {98→JIS罫線変換  >TXF @    },{JIS98;im({Yes})},
  1695.             {NAPLPS表示 -         },{NAPLPS;im({Yes})},
  1696.             {        終       了        },{im({No})}
  1697.             );
  1698.         });
  1699.     };
  1700.  
  1701. /*    ファイル応用操作の選択    */
  1702. %FILEman2{
  1703.     loop    ({
  1704.         SNDMSG({erande_f.snd});
  1705.         footnote({ファイル応用操作の処理を選択して下さい});
  1706.         select({ファイル応用操作メニュー},
  1707.             Wtime4,{im({No})},
  1708.             {ファイル圧縮凍結 >LHA u    },{LHAarc;im({Yes})},
  1709.             {ファイル解凍     >LHA x    },{LHAext;im({Yes})},
  1710.             {凍結ファイル一覧 >LHA l    },{LHAlst;im({Yes})},
  1711.             {ファイル石化     >ISH /s   },{ISHstr;im({Yes})},
  1712.             {ファイル解石     >ISH /r   },{ISHres;im({Yes})},
  1713.             {ファイル圧縮     >DIET     },{DIETarc;im({Yes})},
  1714.             {ファイル復元     >DIET -ra },{DIETres;im({Yes})},
  1715.             {ファイル差分作成 >BDIFF    },{BDIFF;im({Yes})},
  1716.             {ファイル差分更新 >BUPDATE  },{BUPDATE;im({Yes})},
  1717.             {差分ファイル確認 >BUPDATE-v},{BUPDview;im({Yes})},
  1718.             {        終       了        },{im({No})}
  1719.             );
  1720.         });
  1721.     };
  1722.  
  1723. /*    ディレクトリ操作の選択    */
  1724. %DIRman    {
  1725.     loop    ({
  1726.         SNDMSG({erande_f.snd});
  1727.         footnote({ディレクトリ操作の処理を選択して下さい});
  1728.         select({ディレクトリ操作メニュー},
  1729.             Wtime4,{im({No})},
  1730.             {ツリー表示       =TREE     },{TREE;im({Yes})},
  1731.             {ディレクトリ作成 -mkdir    },{MKDIR;im({Yes})},
  1732.             {ディレクトリ削除 -rmdir    },{RMDIR;im({Yes})},
  1733.             {ディレクトリ複写 =XCOPY    },{DIRCOPY;im({Yes})},
  1734.             {        終       了        },{im({No})}
  1735.             );
  1736.         });
  1737.     };
  1738.  
  1739. /*    フロッピィディスク操作の選択    */
  1740. %DISKman{
  1741.     loop    ({
  1742.         SNDMSG({erande_f.snd});
  1743.         footnote({フロッピィディスク操作の処理を選択して下さい});
  1744.         select({フロッピィディスク操作メニュー},
  1745.             Wtime4,{im({No})},
  1746.             {フロッピィ初期化 =FORMAT   },{FORMAT;im({Yes})},
  1747.             {フロッピィ複写   =DISKCOPY },{DISKCOPY;im({Yes})},
  1748.             {フロッピィ比較   =DISKCOMP },{DISKCOMP;im({Yes})},
  1749.             {        終       了        },{im({No})}
  1750.             );
  1751.         });
  1752.     };
  1753.  
  1754. /*   CD-ROM 辞書 検索    */
  1755. %CDFIND    {
  1756.     SNDMSG({kaknin_f.snd});
  1757.     footnote({CD-ROMに辞書をセットしてください});
  1758.     select({CD-ROMに辞書をセットしてください},
  1759.         Wtime4,,
  1760.         {  O K  },
  1761.         {
  1762.         InactMemo;
  1763.         %memono    @mlast+1;
  1764.         madd(memono,{});
  1765.         mopen(memono,1,21,639,459);
  1766.         CDfind(memono);
  1767.         DeleteMemo(memono);
  1768.         },
  1769.         {  N G },
  1770.         );
  1771.     };
  1772.  
  1773. /*    ファイル操作メインメニュー    */
  1774. /*    設定する情報の選択    */
  1775. %FAPXFILE{
  1776.     loop    ({
  1777.         SNDMSG({erande_f.snd});
  1778.         footnote({ファイル操作を選択して下さい});
  1779.         select({ファイル操作メインメニュー},
  1780.             Wtime4,{im({No})},
  1781.             {       ファイル基本操作       },{FILEman1;im({Yes})},
  1782.             { 応用操作(lha,ish,diet,bdiff) },{FILEman2;im({Yes})},
  1783.             {       ディレクトリ操作       },{DIRman;im({Yes})},
  1784.             {    フロッピィディスク操作    },{DISKman;im({Yes})},
  1785.             {       既存ファイル編集       },{EDIT(1);im({Yes})},
  1786.             {       新規ファイル編集       },{EDIT(0);im({Yes})},
  1787.             {         ファイル実行         },{EXEC;im({Yes})},
  1788.             {       コマンド直接実行       },{COMMAND;im({Yes})},
  1789.             {     CD-ROM 辞書検索     },{CDFIND;im({Yes})},
  1790.             { FAPX v}|VerLev|{の説明 },
  1791.             {setcdir(CDIR);#FAPXHELP.PLP;im({Yes})},
  1792.             {         終         了        },{im({No})}
  1793.             );
  1794.         });
  1795.     };
  1796.  
  1797. /*    設定する情報の選択    */
  1798. %FAPXFWIN{
  1799.     loop    ({
  1800.         SNDMSG({erande_f.snd});
  1801.         footnote({ファイル操作を選択して下さい});
  1802.         select({ファイル操作メインメニュー},
  1803.             Wtime4,{im({No})},
  1804.             {       既存ファイル編集       },{EDIT(1);im({Yes})},
  1805.             {       新規ファイル編集       },{EDIT(0);im({Yes})},
  1806.             {   ファイル圧縮凍結 >LHA u    },{LHAarc;im({Yes})},
  1807.             {   ファイル解凍     >LHA x    },{LHAext;im({Yes})},
  1808.             {   ファイル石化     >ISH /s   },{ISHstr;im({Yes})},
  1809.             {   ファイル解石     >ISH /r   },{ISHres;im({Yes})},
  1810.             {   ファイル差分作成 >BDIFF    },{BDIFF;im({Yes})},
  1811.             {   ファイル差分更新 >BUPDATE  },{BUPDATE;im({Yes})},
  1812.             {       NAPLPS表示       },{NAPLPS;im({Yes})},
  1813.             {     CD-ROM 辞書検索     },{CDFIND;im({Yes})},
  1814.             { FAPX v}|VerLev|{の説明 },
  1815.             {setcdir(CDIR);#FAPXHELP.PLP;im({Yes})},
  1816.             {         終         了        },{im({No})}
  1817.             );
  1818.         });
  1819.     };
  1820.  
  1821. /*    作業領域定義    */
  1822. var    OLDFILE    [64];
  1823. var    NEWFILE    [64];
  1824. var    OLDDIR    [64];
  1825. var    NEWDIR    [64];
  1826.  
  1827. case    (@tail(@version,{for },{ })={Win31},
  1828.     {Yes},{FAPXFWIN},
  1829.     {No},{FAPXFILE}
  1830.     );
  1831.